1. Field of the Invention
This invention generally relates to in-network processor management and, more particularly, to a system and method for using an L2 layer protocol to manage the processor and memory capabilities of in-network computer devices.
2. Description of the Related Art
In computer networking, the Link Layer is the lowest layer in the Internet Protocol Suite, the networking architecture of the Internet (RFC 1122, RFC 1123). It is the group of methods or protocols that only operate on a host's link. The link is the physical and logical network components used to interconnect hosts or nodes in the network and a link protocol is a suite of methods and standards that operate only between adjacent network nodes of a Local Area Network (LAN) segment or a Wide Area Network (WAN) connection.
Despite the different semantics of layering in TCP/IP and OSI, the Link Layer is often described as a combination of the Data Link Layer (Layer 2) and the Physical Layer (Layer 1) in the Open Systems Interconnection (OSI) protocol stack. LAN standards such as Ethernet and IEEE 802 specifications use terminology from the seven-layer OSI model rather than the TCP/IP reference model. The TCP/IP model in general does not consider physical specifications, rather it assume a working network infrastructure that can deliver media level frames on the link. Therefore RFC 1122 and RFC 1123, the definition of the TCP/IP model, do not discuss hardware issues and physical data transmission and set no standards for those aspects, other than broadly including them as Link Layer components. Some practitioners assume that physical data transmission aspects are part of the Link Layer. Other practitioners assume a hardware layer or physical layer below the link layer, and several of them adopt the OSI term Data Link Layer instead of Link Layer in a modified description of layering.
The Link Layer Discovery Protocol (LLDP) is an agnostic Data Link Layer protocol used by network devices for advertising of their identity, capabilities, and interconnections on an IEEE 802 LAN network. The protocol is formally referred to by the IEEE as Station and Media Access Control Connectivity Discovery specified in standards document 802.1AB. Information gathered with LLDP is stored in the device as a management information database (MIB) and can be queried with, the Simple Network Management Protocol (SNMP) as specified in RFC 2922. The topology of an LLDP-enabled network can be discovered by crawling the hosts and querying this database. The information that may be retrieved include: System name and description; Port name and description; VLAN name; IP management address; switching and routing capabilities; and MAC/PHY information.
LLDP frames are sent by each device, on each port, at a fixed frequency. A frame contains a Link Layer Discovery Protocol Data Unit (LLDPDU) which is a set of type-length-value (TLV) structures. This LLDPDU is enclosed into an Ethernet frame in which the destination MAC address is set to a multicast address. The Link Layer Discovery Protocol may be used as a component in network management and monitoring applications.
The WOL (Wake-on-LAN) Magic packet is used to remotely wake up a computing device from a sleep/deep sleep mode. It may also be known as Remote Wake-Up or RWU. When received, the WOL packet wakes a computer device system such that all the processors/cores are working at maximum configuration (maximum frequency and corresponding maximum operating voltages). In a multi-processor/core system, the protocol cannot specify that only a particular processor/core be awakened, or order any wake-up configuration other than maximum frequency and its corresponding operating voltage for the core. If the computer being awakened is communicating via Wi-Fi, the wake-up-packet can be sent via Wireless Multimedia Extensions (WMM). This packet may also be called Wake on Wireless LAN (WoWLAN).
Wake-on-LAN support is implemented on the motherboard of a computer and the network interface, and is not dependent on the operating system running on the hardware, although the operating system can sometimes control the Wake-on-LAN behavior. If the network interface is a plug-in card rather than being integrated into the motherboard, the card may need to be connected to the motherboard by a cable. Wake-on-LAN is platform-independent, so any application on any platform that sends magic packets can wake up computers running on any platform. It is not restricted to LAN (Local area network) traffic.
The computer to be woken may be shut down (sleeping; i.e. ACPI state G1 or G2), with power reserved for the network card, but not disconnected from its power source. The network card “listens” for a specific packet containing its MAC address, called the magic packet, broadcast on the broadcast address for that particular subnet (or an entire LAN, though this requires special hardware or configuration).
The magic packet is sent on the data link or Layer 2 in the OSI model and broadcast to all network interface cards (NICs) within the network of the broadcast address; the IP-address (layer 3 in the OSI model) is not used. When the listening computer receives this packet, the network card checks the packet for the correct information. If the magic packet is valid, the network card takes the computer out of hibernation or standby, and starts it up. In order for Wake-on-LAN to work, parts of the network interface need to stay on. This consumes standby power, but standby power is less than the computer's normal operating power.
FIG. 1 is a diagram depicting an exemplary WOL packet (prior art). The WOL magic packet is a broadcast frame containing anywhere within its payload: 6 bytes of ones (resulting in hexadecimal FF FF FF FF FF FF), followed by sixteen repetitions of the target computer's MAC address. There are three different ways to send Wake-on-LAN packets:
1. Limited broadcast. The Magic Packet is sent to the limited broadcast address (255.255.255.255). It is received by all machines on the same subnet but not forwarded to machines on other subnets.
2. Subnet-directed broadcast. The packet is sent to the target machine subnet. The router or switch forwards the packet to all ports containing machines on the subnet.
3. Unicast. The packet is sent directly to the machine IP address. If the router or switch still has cached the port to which that computer is attached, the packet gets access to the machine
Since the magic packet is only scanned for the string as shown, and not actually parsed by a full protocol stack, it may be sent as a broadcast packet of any network- and transport-layer protocol. It is typically sent as a user datagram protocol (UDP) datagram to port 0, 7, or 9, or, in former times, as an internetwork packet exchange (IPX) packet.
It would be advantageous if the function of the WOL packet could be extended to finely control the manner in which a computer device is awoken from a deep sleep.
It would be advantageous if an extended function WOL packet could be used to remotely enable or disable specific processors or processors cores in a computing device.